package com.sailors.common.task.provider.faced.model.dto.execute;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 任务失败更新DTO
 *
 * @description:任务失败更新DTO
 * @author: cyj
 * @date 2022 -11-22 17:20:36
 */
@Data
@ApiModel("任务创建DTO")
public class FileTaskCreateExecuteDto {
    /**
     * 服务名称
     */
    @ApiModelProperty(value = "服务名称")
    @NotBlank(message = "服务名称 不能为空")
    private String serviceName;
    /**
     * 任务类型
     */
    @ApiModelProperty(value = "任务类型")
    @NotBlank(message = "任务类型 不能为空")
    private String bussinessName;
    /**
     * 任务文件名称
     */
    @ApiModelProperty(value = "任务文件名称")
    @NotBlank(message = "任务文件名称 不能为空")
    private String taskFileName;
    /**
     * 业务类型: 1-上传 2-下载
     */
    @ApiModelProperty(value = "业务类型: 1-上传 2-下载")
    @NotNull(message = "业务类型 不能为空")
    private Integer taskType;
    /**
     * 状态:  0-进行中 1-成功 2-失败
     */
    @ApiModelProperty("状态:  0-进行中 1-成功 2-失败")
    private Integer status;
    /**
     * 失败原因 下载地址
     */
    @ApiModelProperty(value = "失败原因")
    private String reason;
    /**
     * 失败原因 下载地址(和reasonExcel 传一个就行)
     */
    @ApiModelProperty(value = "失败原因 下载地址")
    private String reasonUrl;
    /**
     * 失败原因源文件excel数据（会自动转换成一个excel并上传到服务器）
     */
    @ApiModelProperty(value = "失败原因源文件excel数据")
    private ExcelUploadDto reasonExcel;
    /**
     * 是否异步：0-否 1-是
     */
    @ApiModelProperty(value = "是否异步：0-否 1-是")
    @NotNull(message = "是否异步 不能为空")
    private Integer async;
    /**
     * 数据量
     */
    @ApiModelProperty(value = "数据量")
    private Long count;
    /**
     * 源文件下载地址（和sourceExcel给一个就行）
     */
    @ApiModelProperty(value = "源文件下载地址（和sourceExcel给一个就行）")
    private String sourceFileUrl;
    /**
     * 源文件excel数据（会自动转换成一个excel并上传到服务器）
     */
    @ApiModelProperty(value = "源文件excel数据")
    private ExcelUploadDto sourceExcel;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**
     * 延时检查时间(到期自动失败): 0-关闭此功能 1-5分钟 2-10分钟 3-30分钟 4-60分钟 5-90分钟 6-120分钟
     */
    @ApiModelProperty(value = " 延时检查时间(到期自动失败): 0-不限制 1-5分钟 2-10分钟 3-30分钟 4-60分钟 5-90分钟 6-120分钟")
    private Integer delayedCheck;
}
